Method for presenting documents using a reading list panel

ABSTRACT

A reading list panel is displayed as a sidebar window with respect to a main window of a content viewing application. In response to a first input, a first article representation of a first article associated with a presentation page displayed in the main window is listed in the reading list panel, where the first article representation includes information identifying the first article. In response to a selection of a second article representation from the reading list panel, content of a second article represented by the second article representation is presented in a reader mode within the main window.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 61/493,276, filed Jun. 3, 2011, which is incorporated byreference in its entirety.

FIELD OF THE INVENTION

Embodiments of the present invention relate generally to user interface.More particularly, embodiments of the invention relate to a reading listpanel to store a list of documents that can be presented in a readermode.

BACKGROUND

With the fast advance of browser technologies and World Wide Webinfrastructures, more and more content or applications are accessed viaa browser. However, most Web documents are designed to carry a varietyof content elements for multiple purposes. Often times, a userinterested in a portion of content or an interactive application can bepresented with myriads of information of no interest to the user at all.It is not unusual for a browser user to be distracted by navigationcontrols, user interface controls of a Web document, advertising,marketing, or promotional campaign from a Web document while trying tofocus only on the interested portion of content.

Therefore, accessing content included in Web documents via traditionalbrowsers do not provide users with smooth, focused and friendlyexperiences.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 is a block diagram illustrating a system for managing a readinglist of articles according to one embodiment of the invention.

FIGS. 2A-2D are screenshots illustrating an example of graphical userinterfaces of a content viewing application according to someembodiments of the invention.

FIG. 3 is a flow diagram illustrating a method for processing articlesin a reader mode according to one embodiment of the invention.

FIG. 4 is a flow diagram illustrating a method for processing articlesin a reader mode according to another embodiment of the invention.

FIG. 5 is a flow diagram illustrating a method for processing articlesin a reader mode according to another embodiment of the invention.

FIG. 6 is a block diagram of a data processing system, which may be usedwith one embodiment of the invention.

DETAILED DESCRIPTION

Various embodiments and aspects of the inventions will be described withreference to details discussed below, and the accompanying drawings willillustrate the various embodiments. The following description anddrawings are illustrative of the invention and are not to be construedas limiting the invention. Numerous specific details are described toprovide a thorough understanding of various embodiments of the presentinvention. However, in certain instances, well-known or conventionaldetails are not described in order to provide a concise discussion ofembodiments of the present inventions.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin conjunction with the embodiment can be included in at least oneembodiment of the invention. The appearances of the phrase “in oneembodiment” in various places in the specification do not necessarilyall refer to the same embodiment.

According to some embodiments, a graphical user interface (GUI) elementis provided to manage articles or documents that can be presented in areader mode. In one embodiment, a reading list panel is implemented aspart of a content viewing application such as a browser application.Throughout this application, a browser application is utilized as anexample of a content viewing application; however, other types ofcontent viewing applications can also be applied. According to oneembodiment, in response to a user input, the reading list panel isdisplayed as a sidebar window or an accessory window, for example,associated with or within the same instance of a browser application inwhich a main window is being displayed. The reading list panel isconfigured to list one or more article representations representing oneor more articles that can be presented in a reader mode.

According to one embodiment, a user can add an article representationassociated with a document currently displayed in the main window to thereading list panel by activating or clicking a predetermined button.Alternatively, a user can add an article representation associated withan article embedded within a content or presentation page such as a Webpage currently displayed in the main window. That is, the reading listpanel is configured to list a list of one or more articlerepresentations representing one or more articles or documents (alsoreferred to as a reading list) that can be presented or read in a readermode. In one embodiment, each article representation listed in thereading list includes enough information identifying the associatedarticle without actual content of the article, such that the actualarticle can be subsequently retrieved and displayed in a reader mode. Inthis way, less memory or resource is required to maintain the readinglist. In one embodiment, each article representation listed in thereading list panel includes at least one of a title of the article, anaddress (e.g., universal resource locator or URL) from which the actualarticle can be retrieved, and an abstract of the article.

Throughout this application, the terms of “article” and “articlerepresentation” are interchangeable terms dependent upon the associatedcontext being described. When an article is described or displayedwithin a reading list panel, it refers to an article representation thatrepresents the actual article. When an article is described or displayedwithin a main window of the content viewing application, it refers tothe actual article.

According to one embodiment, from the reading list panel, a user canbrowse through the listed articles in a reader mode without having toswitch back and forth between the reader mode and a regular or normalmode of presentation. However, if the user decides to disable orinactivate the reader mode, the articles listed in the reading listpanel can be browsed through in the normal mode.

According to one embodiment, information (e.g., title, URL, abstract,and icon) of the articles listed in the reading list panel can be storedin a persistent storage location, such that the information can bepopulated and displayed in the reading list panel when the browserapplication is launched again subsequently. As a result, a user cancontinue to read in a reader mode the articles that have been identifiedand collected in a previous session of the browser application.

According to a further embodiment, the information concerning thearticles in the reading list panel can also be stored in the cloud. Forexample, a user can create a reading list in a first device (e.g.,desktop) and the information of the reading list can then besynchronized with a cloud server. Subsequently when the user connectswith the cloud server via a second device (e.g., mobile device), theinformation of the reading list can be synchronized between the cloudserver and the second device. When the user launches a browserapplication from the second device, the reading list is populated in thecorresponding reading list panel. As a result, from the second device,the user can “pick up” the articles of the reading list created in thefirst device.

FIG. 1 is a block diagram illustrating a system for managing a readinglist of articles according to one embodiment of the invention. Referringto FIG. 1, system 100 includes computing device 101 communicativelycoupled to other devices such as server 104, computing device 105, andcontent/service provider 103 over network 102. Network 102 can be alocal area network (LAN), a wide area network (WAN), or a combination ofboth. Devices 101 and 105 may be any kind of computing devices, such as,for example, a desktop (e.g., iMac™), a laptop (e.g., MacBook™), atablet (e.g., iPad™), a mobile phone (e.g., iPhone™), a media device(e.g., iPod™), etc. In one embodiment, device 101 includes, but is notlimited to, a browser application 106 executed in a memory by aprocessor of device 101 to retrieve a content page such as a Web pagefrom a remote Web site or from a remote or local file system, and topresent the content page in GUI 107 such as a display device.

In one embodiment, browser application 106 includes content presentationmodule 108 and content retrieval or processing module 111. Contentretrieval module 111 is configured to retrieve a presentation page suchas a Web page from a content provider such as Web site 103 and contentpresentation module 108 is configured to present or display thepresentation page on display device 107. Throughout this application, aWeb page is utilized as an example of a presentation page and a Webserver is utilized as an example of a content provider. Other types ofcontent and servers may also be applied. In one embodiment, when contentretrieval module 111 receive a Web page, it parses the Web page to builda rendering tree or data structure 109, where content presentationmodule 108 is configured to render the Web page based on rendering tree109 and to display the Web page on the display device. In oneembodiment, for each Web page represented by rendering tree 109, readermode module 110 is configured to determine, based on rendering tree 109,whether the Web page is capable of being displayed or presented in areader mode.

Rendering tree 109 includes one or more nodes, each representing anobject representing an element of the Web page. Some of the nodes mayrepresent articles that are capable of being displayed in the readermode. In one embodiment, for each of the nodes representing an article,reader mode module 110 is configured to access the article and to detectwhether the article is capable of being displayed in the reader mode.Accordingly, the rendering tree 109 may be updated to include anindicator indicating whether a particular article is capable of beingdisplayed in the reader mode. A reader mode refers to a displaying modein which an article of a Web page is displayed in a manner without otherunrelated information, such as, the background color or image, oradvertisements that come with the Web page. Further detailed informationconcerning operations of a reader mode can be found in co-pending U.S.patent application Ser. No. 12/794,674, entitled “Reader ModePresentation of Web Content,” filed Jun. 4, 2010, which is incorporatedby reference herein in its entirety.

In one embodiment, a reading list panel is implemented as part ofbrowser application 106. In response to a user input, the reading listpanel is displayed by browser application 106 as a sidebar window or anaccessory window, for example, associated with or within the sameinstance of browser application 106 in which a main window is beingdisplayed. For example, a user can activate or click on a graphicalrepresentation such as icon from a bookmark bar of a browser applicationto launch or activate the reading list panel. The reading list panel isconfigured to list one or more articles that can be presented in areader mode.

According to one embodiment, a user can add a document currentlydisplayed in the main window to the reading list panel by activating orclicking a predetermined button. Alternatively, a user can add anarticle embedded within a content page such as a Web page currentlydisplayed in the main window. For example, a user can select a link suchas a hypertext link linking with an article embedded within the contentpage via a keyboard short cut or a combination of one or more keysand/or actions (e.g., shift-click). An article can be added in ananimated fashion. That is, the reading list panel contains a list of oneor more articles or documents that can be presented or read in a readermode. Similarly, an article can also be removed from the reading listpanel.

In one embodiment, each article representation listed in the readinglist includes enough information identifying the article instead ofactual content of the article, such that the actual article can besubsequently retrieved and displayed in a reader mode. In oneembodiment, each article representation listed in the reading list panelincludes at least one of a title of the article, an address (e.g.,universal resource locator or URL) from which the actual article can beretrieved, and an abstract of the article. When an article is beingadded to the reading list, at least a portion of the article is scannedby reader mode module 110 to extract an abstract of the article. Inaddition, certain metadata such as a title of the article and a URL isalso extracted. This information is displayed in the reading list.Further, a graphical representation such as an icon associated with thearticle can also be extracted and displayed in the reading panel. Theimage of the graphical representation may also be enhanced from theoriginal one provided by the content provider.

According to one embodiment, from the reading list panel, a user canbrowse through the listed article in a reader mode without having toswitch back and forth between the reader mode and the normal mode ofpresentation. For example, in response to a selection of an article fromthe reading list panel, content of the article is retrieved from acontent provider based on an address associated with the article, whichis retrieved from the corresponding entry of the reading list panel. Theretrieved article is then displayed in a reader mode within a mainwindow of the browser application. However, if the user decides todisable or inactivate the reader mode, the articles listed in thereading list panel can be browsed through in the normal mode.

According to one embodiment, information (e.g., title, URL, abstract,and icon) of the articles listed in the reading list panel can bemaintained in a system memory of a data processing system in which thecorresponding browser application is running. Alternatively, theinformation of the articles listed in the reading list panel can also bestored in a persistent storage location such as storage device 113 aspart of reading list 112, such that the information can be populated anddisplayed in the reading list panel when browser application 106 islaunched again subsequently. As a result, a user can continue to read ina reader mode the articles that have been identified and collected in aprevious session of the browser application.

According to a further embodiment, the information concerning thearticles in the reading list panel can also be stored in the cloud. Thatis, the information can be transmitted to and stored (e.g.,synchronized) by content synchronization module 114 in cloud server 104such as iCloud™ available from Apple® Inc. of Cupertino, Calif. Forexample, a user can create a reading list in a first device (e.g.,desktop such as device 101) and the information of the reading list isthen synchronized with a cloud server such as server 104. Subsequentlywhen the user connects with the cloud server via a second device (e.g.,mobile device such as device 105), the information of the reading listcan be synchronized between the cloud server and the second device. Whenthe user launches a browser application from the second device, thereading list is populated in the corresponding reading list panel. As aresult, from the second device, the user can “pick up” the articles ofthe reading list created in the first device.

Furthermore, dependent upon the display capability of the second device,an article capable of being displayed by the first device (e.g.,desktop) may or may not be capable of being displayed properly by thesecond device (e.g., mobile device). According to one embodiment, when abrowser application picks up an article of a reading list, the browserapplication of the second device may search, identify, locate, and/orrender a proper version of the article that is suitable for beingdisplayed by the second device.

FIGS. 2A-2D are screenshots illustrating an example of graphical userinterfaces of a content viewing application according to someembodiments of the invention. Note the GUI 200 may be described for thepurpose of illustration only; other formats or configurations of GUIscan also be implemented. GUI 200 may be rendered and presented bycontent viewing application 106 of FIG. 1. For example, a contentviewing application may be a Safari™ browser application available fromApple Inc., or alternatively, it can be an Internet Explorer™ browserapplication or a FireFox™ browser application. A browser application canbe executed within a variety of operating systems, such as Mac OS™available from Apple Inc., Windows™ operating system available fromMicrosoft® Corporation of Redmond, Wash., a LINUX, or a UNIX operatingsystem.

Also note that throughout this application, a browser application and aWeb page are used as example of a content viewing application andpresentation page to be viewed; however, other applications such as afile system browser (e.g., Finder™ available from Apple Inc. or WindowsExplorer™ available from Microsoft) or presentation applications such asa slide presentation application (e.g., PowerPoint™ from Microsoft orKeynote™ from Apple), as well as other presentations such as documentfiles may also be applied herein. In addition, throughout thisapplication, any button or a control of the GUI of a browser applicationcan be activated by clicking the button or control using a pointingdevice, via one or more keystrokes from a keyboard, a voice interactivecommand, and/or via a signal received via an application programminginterface (API).

Referring to FIG. 2A, when a browser application is launched andaccesses an address (e.g., URL) of a content provider such as a Website, a Web page is downloaded from the Web site, rendered by thebrowser application, and presented in main window 204 of browser GUI200. Web page displayed in main window 204 may or may not be reader modecapable. As described above, a reader mode module (e.g., reader module110) is configured to examine the Web page to determine whether the Webpage is capable of being presented in a reader mode, for example, usingcertain techniques described in the above incorporated-by-referencepatent application.

In one embodiment, when the browser application detects that documentpresented in main window can be presented in a reader mode, a graphicalrepresentation such as an icon or a button is displayed to indicate thatthe Web page currently presented in main window 204 is capable of beingpresented in a reader mode. In this example, when the Web page of mainwindow 204 is detected to be reader mode capable, button 205 isdisplayed within a predetermined proximity of address field that storesan address (e.g., URL) from which the currently displayed Web page wasretrieved. When button 205 is activated, the Web page is displayed in areader mode within main window 204, as shown in FIG. 2C in which otherunrelated or less related information such as certain advertisement,icons, links, buttons, search field, and/or images of the Web page havebeen removed to only show the actual content associated with the Webpage.

In addition, according to one embodiment, reading list panel (alsosimply referred to as a reading list) 203 can be displayed as a sidebarwindow or an accessory window associated with main window 204. Readinglist panel 203 can be activated and displayed via button 202, which maybe implemented at a variety of position within GUI 200 such as bookmarkbar 201 in this example. Reading list panel 203 can also be removed byactivating button 202 again. Reading list panel 203 can be used to storea list of articles (also referred to as a reading list) that can bepresented in a reader mode.

According to one embodiment, the Web page currently presented in mainwindow 204 can be added to reading list panel 203, for example, byactivating button 206, as shown in FIG. 2B. Referring to FIG. 2B, inthis example, the Web page currently displayed in main window 204 isadded to reading list panel 203 as article 210. In addition, in responseto a user input via button 206, the browser application is configured toexamine the Web page currently displayed in main window 204 to extractcertain metadata of the Web page. In one embodiment, the browserapplication extracts at least the title of the Web page and an addresssuch as a URL of the Web page. In addition, the browser applicationgenerates an Abstract of the Web page based on at least a portion of thecontent of the Web page. The metadata and the Abstract are thenassociated with the corresponding article and presented in reading listpanel 203. In this example, article 210 is presented with the associatedtitle, URL, and Abstract. The browser application may further determineor extract a graphical representation such as an icon associated withthe Web page. An underlying Web rendering engine associated with thebrowser application may further enhance the image of the graphicalrepresentation, for example, by applying a sharpening filter, etc. Thebrowser application may further craw through a domain of thecorresponding Web site to identify or locate another graphicalrepresentation with a better resolution to be displayed in reading listpanel 203. Note that reading list panel 203 does not have to beactivated or displayed when adding an article. An article currentlydisplayed in main window 204 can also be added via button 215 near theaddress bar when reading list panel is not displayed at the point intime. When button 215 is activated, as shown in FIG. 2D, a dialog box220 is displayed prompting the user whether the user wishes to add thecurrently displayed article to the reading list panel.

In addition, an article embedded within the currently displayed Web pagecan also be added to reading list panel 203. A Web page may contain oneor more links such as hypertext links linking with one or more articlesthat are located at other locations such as remote servers, which can beretrieved by associated links (e.g., URLs). According to one embodiment,a user can add the linked article to reading list panel without havingto access the link by performing a predetermined action such asshift-clicking the link. In response to such an action, the browserapplication is configured to add the underlying article to reading listpanel 203. In one embodiment, the browser application is configured toaccess the link to examine the article, for example, to extract thetitle, icon, and an abstract of the article as described above, withoutrequiring the user to actually access the link. Alternatively, a usercan actually access the link and then add the article to reading listpanel by activating button 206.

When a linked article is added to reading list panel without having theuser actually open the link, according to one embodiment, the article isadded to reading list panel 203 via an animated fashion, for example, byflying or being thrown into reading list panel 203. Note that readinglist panel 203 does not have to be activated or displayed when adding anarticle. An article can be added to the reading list panel 203 by flyingor being thrown towards icon 202 instead when reading list panel 203 isnot displayed at the point in time.

Referring to FIG. 2C, from reading list panel 203, a user can browsethrough the articles listed therein. When a user selects any one of thearticles from reading list panel 203, the corresponding article isretrieved from the associated URL and displayed in a reader mode in mainwindow 204. In this example, it is assumed that the user selects article210 from reading list panel 203, and the corresponding article isretrieved from its source based on the associated URL and presented in areader mode within main window 204. When the user selects a secondarticle from reading list panel 203, the second article is retrieved anddisplayed in the reader mode within main window 204. Thus, the readermode remains active among the articles being browsed and displayedwithout switching back and forth between a reader mode and a normalmode, unless the user specifically disables the reader mode, forexample, by clicking button 205, in which case, the articles are to bedisplayed in a normal mode as shown in FIG. 2B.

In one embodiment, within reading list panel 203, any one of thearticles can be removed from reading list panel 203, for example, via apredetermined keystroke such as a delete functional key. All of thearticles can also be removed from reading list panel 203 by activating“clear all” button 207. The articles that have not been read ordisplayed can be listed in an “unread” page by activating tab or pageselector 209 or alternatively, all articles can be listed by activatingan “all” tab 208. In the “unread” page, when an article has beenaccessed and displayed, the corresponding article may be removed orgrayed out from the “unread” page.

According to one embodiment, information (e.g., title, URL, abstract,and icon) of the articles listed in reading list panel 203 can be storedin a persistent storage location, such that the information can bepopulated and displayed in reading list panel 203 when the browserapplication is launched again subsequently. As a result, a user cancontinue to read in a reader mode the articles that have been identifiedand collected in a previous session of the browser application.

According to a further embodiment, the information concerning thearticles in reading list panel 203 can also be stored in the cloud. Forexample, a user can create a reading list in a first device (e.g.,desktop) and the information of the reading list is then synchronizedwith a cloud server. Subsequently when the user connects with the cloudserver via a second device (e.g., mobile device), the information of thereading list can be synchronized between the cloud server and the seconddevice. When the user launches a browser application from the seconddevice, the reading list is populated in the corresponding reading listpanel. As a result, from the second device, the user can “pick up” thearticles of the reading list created in the first device.

Furthermore, dependent upon the display capability of the second device,an article capable of being displayed by the first device (e.g.,desktop) may not be capable of being displayed properly by the seconddevice (e.g., mobile device). According to one embodiment, when abrowser application picks up an article of a reading list, the browserapplication of the second device may search, identify, locate, and/orrender a proper version of the article that is suitable for beingdisplayed by the second device.

FIG. 3 is a flow diagram illustrating a method for processing articlesin a reader mode according to one embodiment of the invention. Method300 may be performed by browser application 106 of FIG. 1. The methodmay be performed by processing logic which may include software,hardware, or a combination of both. The method may be stored asexecutable instructions in a machine-readable storage medium andexecuted in a memory by a processor or processing device. Referring toFIG. 3, at block 301, a presentation page is displayed in a main windowof a content viewing application, where the presentation page isretrieved from a content provider. For example, the presentation pagemay be a Web page or a document page. The content viewing applicationmay be a browser application such as Web browser or a file browser.Content provider may be a remote Web server or a file system. At block302, in response to a first input (e.g., button 202 of FIG. 2A), areading list panel is displayed as a sidebar window. The reading listpanel includes zero or more articles that can be presented in a readermode. At block 303, in response to a second input selecting an articlefrom the presentation page displayed in the main window, the selectedarticle is added and displayed in the reading list panel. At block 304,in response to a third input selecting one of the articles from listedin the reading list panel, content of the selected article is retrievedand displayed in the main window of the browser application.

FIG. 4 is a flow diagram illustrating a method for processing articlesin a reader mode according to another embodiment of the invention.Method 400 may be performed by browser application 106 of FIG. 1. Themethod may be performed by processing logic which may include software,hardware, or a combination of both. The method may be stored asexecutable instructions in a machine-readable storage medium andexecuted in a memory by a processor or processing device. Referring toFIG. 4, at block 401, a presentation page is displayed in a main windowof a content viewing application, where the presentation page isretrieved from a content provider. At block 402, one or more articlesare detected from the presentation page that are capable of beingpresented in a reader mode of the content viewing application.

In response to a first input (e.g., via button 202 of FIG. 2A), at block403, a reading list panel is displayed as a sidebar window while thepresentation page is displayed in the main window of the content viewingapplication. In response to a second input (e.g., shift-click) selectingan article from the presentation page displayed in the main window, atblock 404, metadata and abstract of the article are extracted from theselected article. At block 405, the selected article is added to thereading list panel including displaying at least some of the metadataand the abstract of the selected article. At block 406, in response to athird input selecting one of the articles listed in the reading listpanel, the selected article is displayed in a reader mode within themain window of the content viewing application.

FIG. 5 is a flow diagram illustrating a method for processing articlesin a reader mode according to another embodiment of the invention.Referring to FIG. 5, at block 501, a list of one or more articlerepresentations or identifiers are added to reading list panel of acontent viewing application running within a first device (e.g.,desktop). Each article representation identifies an article that iscapable of being presented in a reader mode of the content viewingapplication. At block 502, the list of article representations istransmitted or synchronized to a server such as a cloud server. Eacharticle representation includes at least one of a title, an abstract, anaddress, and an icon, without the actual content of the article.Subsequently, at block 503, the list of article representations issynchronized to a second device from the server and displayed in areading list panel of a content viewing application running within thesecond device (e.g., mobile device). At block 504, in response to aninput selecting one of the article representations displayed in thereading list panel of the convent viewing application of the seconddevice, content of the article identified by the selected articlerepresentation is retrieved from a content provider based on anassociated address of the selected article representation and displayedin a main window of the content viewing application. Optionally, thepresented content is rendered into a proper form suitable for beingdisplayed by the second device based on the display capability of thesecond device.

FIG. 6 is a block diagram of a data processing system, which may be usedwith one embodiment of the invention. For example, the system 600 may beused as part of any of devices or systems 101 and 103-105 as shown inFIG. 1. Note that while FIG. 6 illustrates various components of acomputer system, it is not intended to represent any particulararchitecture or manner of interconnecting the components; as suchdetails are not germane to the present invention. It will also beappreciated that network computers, handheld computers, cell phones andother data processing systems which have fewer components or perhapsmore components may also be used with the present invention. Thecomputer system of FIG. 6 may, for example, be an Apple Macintoshcomputer or MacBook, an IBM compatible PC, or a computer server.

As shown in FIG. 6, the computer system 600, which is a form of a dataprocessing system, includes a bus or interconnect 602 which is coupledto one or more microprocessors 603 and a ROM 607, a volatile RAM 605,and a non-volatile memory 606. The microprocessor 603 is coupled tocache memory 604. The bus 602 interconnects these various componentstogether and also interconnects these components 603, 607, 605, and 606to a display controller and display device 608, as well as toinput/output (I/O) devices 610, which may be mice, keyboards, modems,network interfaces, printers, and other devices which are well-known inthe art.

Typically, the input/output devices 610 are coupled to the systemthrough input/output controllers 609. The volatile RAM 605 is typicallyimplemented as dynamic RAM (DRAM) which requires power continuously inorder to refresh or maintain the data in the memory. The non-volatilememory 606 is typically a magnetic hard drive, a magnetic optical drive,an optical drive, or a DVD RAM or other type of memory system whichmaintains data even after power is removed from the system. Typically,the non-volatile memory will also be a random access memory, althoughthis is not required.

While FIG. 6 shows that the non-volatile memory is a local devicecoupled directly to the rest of the components in the data processingsystem, the present invention may utilize a non-volatile memory which isremote from the system; such as, a network storage device which iscoupled to the data processing system through a network interface suchas a modem or Ethernet interface. The bus 602 may include one or morebuses connected to each other through various bridges, controllers,and/or adapters, as is well-known in the art. In one embodiment, the I/Ocontroller 609 includes a USB (Universal Serial Bus) adapter forcontrolling USB peripherals. Alternatively, I/O controller 609 mayinclude an IEEE-1394 adapter, also known as FireWire adapter, forcontrolling FireWire devices.

Some portions of the preceding detailed descriptions have been presentedin terms of algorithms and symbolic representations of operations ondata bits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as those set forth in the claims below, refer to the actionand processes of a computer system, or similar electronic computingdevice, that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Embodiments of the invention also relate to an apparatus for performingthe operations herein. Such a computer program is stored in anon-transitory computer readable medium. A machine-readable mediumincludes any mechanism for storing information in a form readable by amachine (e.g., a computer). For example, a machine-readable (e.g.,computer-readable) medium includes a machine (e.g., a computer) readablestorage medium (e.g., read only memory (“ROM”), random access memory(“RAM”), magnetic disk storage media, optical storage media, flashmemory devices).

The processes or methods depicted in the preceding figures may beperformed by processing logic that comprises hardware (e.g. circuitry,dedicated logic, etc.), software (e.g., embodied on a non-transitorycomputer readable medium), or a combination of both. Although theprocesses or methods are described above in terms of some sequentialoperations, it should be appreciated that some of the operationsdescribed may be performed in a different order. Moreover, someoperations may be performed in parallel rather than sequentially.

Embodiments of the present invention are not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof embodiments of the invention as described herein.

In the foregoing specification, embodiments of the invention have beendescribed with reference to specific exemplary embodiments thereof. Itwill be evident that various modifications may be made thereto withoutdeparting from the broader spirit and scope of the invention as setforth in the following claims. The specification and drawings are,accordingly, to be regarded in an illustrative sense rather than arestrictive sense.

1. A computer-implemented method, comprising: displaying a reading listpanel as a sidebar window with respect to a main window of a contentviewing application; in response to a first input received via a firstcontrol, listing in the reading list panel a first articlerepresentation of a first article associated with a presentation pagedisplayed in the main window, the first article representation includinginformation identifying the first article; and in response to aselection of a second article representation from the reading listpanel, displaying content of a second article represented by the secondarticle representation in a reader mode within the main window.
 2. Themethod of claim 1, further comprising: in response to the first input,extracting metadata including extracting a title from the first article;capturing an address from which the first article is retrievable;generating an abstract based on at least a portion of content of thefirst article; and displaying the title, the address, and the abstractas part of the first article representation in the reading list panelwithout displaying the actual content of the first article.
 3. Themethod of claim 1, wherein the first article represents at least one ofthe presentation page and a remotely stored article referenced via alink within the presentation page.
 4. The method of claim 3, furthercomprising accessing the first article via the link from thepresentation page automatically to capture the information identifyingthe first article without displaying actual content of the firstarticle, including an address of the link from which the first articlecan be retrieved.
 5. The method of claim 1, further comprising: inresponse to a second input received from a second control, displayingthe second article in a regular mode within the main window; and inresponse to a third input received from the second control, displayingthe second article in the reader mode within the main window.
 6. Themethod of claim 1, further comprising in response to a selection of athird article representation from the reading list panel, displaying athird article associated with the third article representation in thereader mode within the main window without having to switch back to aregular mode first.
 7. A computer-readable storage medium havinginstructions stored therein, which when executed by a computer, causethe computer to perform a method, the method comprising: displaying areading list panel as a sidebar window with respect to a main window ofa content viewing application; in response to a first input received viaa first control, listing in the reading list panel a first articlerepresentation of a first article associated with a presentation pagedisplayed in the main window, the first article representation includinginformation identifying the first article; and in response to aselection of a second article representation from the reading listpanel, displaying content of a second article represented by the secondarticle representation in a reader mode within the main window.
 8. Thecomputer-readable storage medium of claim 7, wherein the method furthercomprises: in response to the first input, extracting metadata includingextracting a title from the first article; capturing an address fromwhich the first article is retrievable; generating an abstract based onat least a portion of content of the first article; and displaying thetitle, the address, and the abstract as part of the first articlerepresentation in the reading list panel without displaying the actualcontent of the first article.
 9. The computer-readable storage medium ofclaim 7, wherein the first article represents at least one of thepresentation page and a remotely stored article referenced via a linkwithin the presentation page.
 10. The computer-readable storage mediumof claim 9, wherein the method further comprises accessing the firstarticle via the link from the presentation page automatically to capturethe information identifying the first article without displaying actualcontent of the first article, including an address of the link fromwhich the first article can be retrieved.
 11. The computer-readablestorage medium of claim 7, wherein the method further comprises: inresponse to a second input received from a second control, displayingthe second article in a regular mode within the main window; and inresponse to a third input received from the second control, displayingthe second article in the reader mode within the main window.
 12. Thecomputer-readable storage medium of claim 7, wherein the method furthercomprises in response to a selection of a third article representationfrom the reading list panel, displaying a third article associated withthe third article representation in the reader mode within the mainwindow without having to switch back to a regular mode first.
 13. A dataprocessing system, comprising: a processor; and a memory coupled to theprocessor for storing instructions, which when executed from the memory,cause the processor to display a reading list panel as a sidebar windowwith respect to a main window of a content viewing application, inresponse to a first input received via a first control, list in thereading list panel a first article representation of a first articleassociated with a presentation page displayed in the main window, thefirst article representation including information identifying the firstarticle, and in response to a selection of a second articlerepresentation from the reading list panel, display content of a secondarticle represented by the second article representation in a readermode within the main window.
 14. A computer-implemented method,comprising: displaying a reading list panel as an accessory window withrespect to a main window of a browser application running within a firstdevice; retrieving a reading list from a first server over a network,the reading list including a list of one or more article identifiersidentifying one or more articles that are capable of being displayed ina reader mode of the browser application, wherein the reading list wascompiled and transmitted from a second device to the first server overthe network; and displaying the reading list in the reading list panelof the browser application running within the first device.
 15. Themethod of claim 14, further comprising: in response to a selection of afirst article representation from the reading list panel, retrieving afirst article from a second server based on an address provided by thefirst article representation; and displaying the first article in areader mode within the main window of the browser application.
 16. Themethod of claim 15, further comprising prior to displaying the firstarticle, rendering the first article into a form suitable to bedisplayed by the first device based on a display capability of the firstdevice.
 17. The method of claim 14, wherein each of the articlerepresentations in the reading list comprises a title of the associatedarticle, an abstract of the associated article, and an address fromwhich the associated article can be retrieved.
 18. Acomputer-implemented method, comprising: displaying a reading list panelas an accessory window with respect to a main window of a browserapplication running within a first device, the reading list panelincluding a plurality of article representations representing aplurality of articles that can be displayed in a reader mode or aregular mode of the browser application; in response to a selection of afirst of the article representations, displaying a first articleassociated with the first article representation in a reader mode withinthe main window; and in response to a selection of a second of thearticle representations, displaying a second article associated with thesecond article representation in the reader mode within the main window,without having to switch back to the regular mode.
 19. The method ofclaim 18, wherein each of the article representations in the readinglist comprises a title of the associated article, an abstract of theassociated article, and an address from which the associated article canbe retrieved.
 20. The method of claim 18, further comprising in responseto an input received from a control, displaying the second article inthe regular mode within the main window.